package 力扣._6988_统计距离为k的点对;

import java.util.*;

public class Solution {
    public int countPairs(List<List<Integer>> coordinates, int k) {
        int total = 0;
        int[] t = new int[coordinates.size()];
        int i = 0;
        for (List<Integer> coordinate : coordinates) {
            t[i++] = coordinate.get(0) ^ k + coordinate.get(1) ^ k;
        }
        for (int j = 0; j < t.length; j++) {
            int goal = k ^ t[j];
            for (int l = j + 1; l < t.length; l++) {
                if (goal == t[l])
                    total++;

            }
        }
//        for (int i = 0; i < coordinates.size(); i++) {
//            for (int j = i + 1; j < coordinates.size(); j++) {
//                int d1 = coordinates.get(i).get(0) ^ coordinates.get(j).get(0);
//                int d2 = coordinates.get(i).get(1) ^ coordinates.get(j).get(1);
//                if (d1 + d2 == k)
//                    total++;
//            }
//        }
        return total;
    }

    public static void main(String[] args) {
        int x1 = 1, y1 = 3, x2 = 5, y2 = 2;
//        int x1 = 1, y1 = 2, x2 = 4, y2 = 2;
        int k = 5;
        System.out.println(x1 ^ x2 + y1 ^ y2);
        System.out.println(x1 ^ k + y1 ^ k + x2 ^ k + y2 ^ k);
        System.out.println((x1 ^ k + y1 ^ k) ^ (x2 ^ k + y2 ^ k));
        System.out.println(x1 ^ k + y1 ^ k);
        System.out.println(x2 ^ k + y2 ^ k);
        System.out.println((x1 ^ k + y1 ^ k)^ k);
    }
}
